package MDoc;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Phrase;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author mx109
 */
public class MgWz extends MgDoc{
    public String Odbiorca="Brak Dostawcy";
    public String DataWyslania="data wysłania";
    public String DataOdbioru="data odbioru";
    public String Przeznaczenie="oszukać przeznaczenie";
    public String Transport="Brak danych o transporcie";
    
    @Override
    void addRest(Document doc) {
        List.clear();
        List.add(new StringPair("Odbiorca",      Odbiorca)     );
        List.add(new StringPair("Data wysłania", DataWyslania) );
        List.add(new StringPair("Data odbioru",  DataOdbioru)  );
        List.add(new StringPair("Przeznaczenie", Przeznaczenie));
        List.add(new StringPair("Transport",     Transport)    );
        try {
            doc.add(MgTableFactory.getTable1(List));
            doc.add(new Phrase("\n\n"));
            doc.add(MgTableFactory.getListTable(this, MgList));
        } catch (DocumentException ex) {
            Logger.getLogger(MgPz.class.getName()).log(Level.SEVERE, null, ex);
        }
        
    }
    
    public MgWz(){
        Nazwa="Wydanie zewnętrzne";
        Skrot="WZ";
        MgList.showIlosc2=true;
        MgList.Ilosc2Name="Ilość wydana";
        MgList.IloscName="Ilość żądana";
        MgList.koszty=true;
    }

    @Override
    public boolean checkThisDoc() {
        if( isNullOrEmpty(Odbiorca)      || !new StringPair("Odbiorca",      Odbiorca     ).equals(List.get(0))
         || isNullOrEmpty(DataWyslania)  || !new StringPair("Data wysłania", DataWyslania ).equals(List.get(1))
         || isNullOrEmpty(DataOdbioru)   || !new StringPair("Data odbioru",  DataOdbioru  ).equals(List.get(2))
         || isNullOrEmpty(Przeznaczenie) || !new StringPair("Przeznaczenie", Przeznaczenie).equals(List.get(3))
         || isNullOrEmpty(Transport)     || !new StringPair("Transport",     Transport    ).equals(List.get(4))
        ){
            return false;
        }
        if( !"Wydanie zewnętrzne".equals(Nazwa)
         || !"WZ".equals(Skrot)
         || isNullOrEmpty(DaneFirmy)
         || isNullOrEmpty(NrDokumentu)
         || isNullOrEmpty(NrEgzemplarza)
         || Data==null
        ){
            return false;
        }
        if( !MgList.koszty
         || !MgList.showIlosc2
         || MgList.showRoznicaIlosci
        ){
            return false;
        }
        if( !"Ilość wydana".equals(MgList.Ilosc2Name)
         || !"Ilość żądana".equals(MgList.IloscName )
        ){
            return false;
        }
        return MgList.checkMgList();
    }
    
}
